#pragma once
#include<stdio.h>
#include<stdlib.h>

typedef int DLSTDataType;
typedef struct DListNode
{
	DLSTDataType Data;
	struct DListNode* next;
	struct DListNode* prev;
}DLN;

DLN* DLSTInit();
void DLSTPushBack(DLN* Phead, DLSTDataType x);
void DLSTPushFront(DLN* Phead, DLSTDataType x);
void DLSTPopBack(DLN* Phead);
void DLSTPopFront(DLN* Phead);
DLN* DLSTDataFind(DLN* Phead, DLSTDataType x);
void DLSTInsert(DLN* Phead, DLN* pos, DLSTDataType x);
void DLSTErase(DLN* Phead, DLN* pos);